package ${rootPkg}.service;

import com.baomidou.mybatisplus.extension.service.IService;
import ${rootPkg}.entity.${bClassName};
import com.unbox.common.table.UnBoxPage;
import java.util.List;

/**
 * <p>
 * <${tableComment}业务接口
 * </p>
 *
 * @author 王振宇
 * @since ${.now?string('yyyy-MM-dd')}
 */
public interface I${bClassName}Service extends IService<${bClassName}> {

    /**
     * 获取单数据
     * @param ${sClassName}
     * @return
     */
    ${bClassName} get(${bClassName} ${sClassName});

    /**
     * 获取数据列表
     * @param ${sClassName}
     * @return
     */
    List<${bClassName}> getList(${bClassName} ${sClassName});

    /**
     * 分页查询数据
     * @param ${sClassName}
     * @param pageNo
     * @param pageSize
     * @return
     */
    UnBoxPage<List<${bClassName}>> getPageList(${bClassName} ${sClassName}, int pageNo, int pageSize);

    /**
     * 通过in查询数据
     * @param ids
     * @return
     */
    List<${bClassName}> getIdsList(List<Integer> ids);

    /**
     * 添加数据
     * @param entity
     * @return
     */
    boolean save(${bClassName} entity);

    /**
     * 批量添加
     * @param entityList
     * @return
     */
    boolean saveBatch(List<${bClassName}> entityList);

    /**
     * 更新数据
     * @param ${sClassName}
     * @return
     */
    boolean update(${bClassName} ${sClassName});

    /**
     * 批量更新数据
     * @param entityList
     * @return
     */
    boolean updateBatchById(List<${bClassName}> entityList);

    /**
     * 删除数据
     * @param ${sClassName}
     * @return
     */
    boolean remove(${bClassName} ${sClassName});

    /**
     * 批量删除数据
     * @param idList
     * @return
     */
    boolean removeByIds(List<Integer> idList);
}
